//Generated with EGF 1.2.0.qualifier
package org.eclipse.egf.emf.pattern.editor;

import org.eclipse.egf.emf.pattern.base.*;
import org.eclipse.emf.codegen.ecore.genmodel.*;
import org.eclipse.emf.codegen.ecore.genmodel.impl.*;
import org.eclipse.emf.codegen.ecore.genmodel.generator.*;
import org.eclipse.emf.codegen.util.*;
import org.eclipse.emf.ecore.util.*;
import org.eclipse.emf.common.util.*;
import org.eclipse.egf.common.helper.*;
import java.util.*;
import org.eclipse.emf.ecore.*;
import org.eclipse.egf.model.pattern.*;
import org.eclipse.egf.pattern.execution.*;
import org.eclipse.egf.pattern.query.*;

public class ModelWizard extends org.eclipse.egf.emf.pattern.base.GenPackageJava {
	protected static String nl;

	public static synchronized ModelWizard create(String lineSeparator) {
		nl = lineSeparator;
		ModelWizard result = new ModelWizard();
		nl = null;
		return result;
	}

	public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
	protected final String TEXT_1 = "";
	protected final String TEXT_2 = NL + "package ";
	protected final String TEXT_3 = ";" + NL + "" + NL + "" + NL + "import java.util.ArrayList;" + NL
			+ "import java.util.Arrays;" + NL + "import java.util.Collection;" + NL + "import java.util.Collections;"
			+ NL + "import java.util.HashMap;";
	protected final String TEXT_4 = NL + "import java.util.Iterator;";
	protected final String TEXT_5 = NL + "import java.util.List;" + NL + "import java.util.Map;" + NL
			+ "import java.util.MissingResourceException;" + NL + "import java.util.StringTokenizer;" + NL;
	protected final String TEXT_6 = NL + "import org.eclipse.emf.common.CommonPlugin;" + NL;
	protected final String TEXT_7 = NL + "import org.eclipse.emf.common.util.URI;" + NL + "" + NL
			+ "import org.eclipse.emf.ecore.EClass;" + NL + "import org.eclipse.emf.ecore.EClassifier;" + NL + "" + NL
			+ "import org.eclipse.emf.ecore.resource.Resource;" + NL
			+ "import org.eclipse.emf.ecore.resource.ResourceSet;" + NL + "" + NL
			+ "import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;" + NL + "" + NL
			+ "import org.eclipse.emf.ecore.EObject;" + NL + "" + NL + "import org.eclipse.emf.ecore.xmi.XMLResource;"
			+ NL + "" + NL + "import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;" + NL;
	protected final String TEXT_8 = NL + "import org.eclipse.core.resources.IContainer;" + NL
			+ "import org.eclipse.core.resources.IFile;" + NL + "import org.eclipse.core.resources.IFolder;" + NL
			+ "import org.eclipse.core.resources.IProject;" + NL + "import org.eclipse.core.resources.IResource;" + NL
			+ "import org.eclipse.core.resources.ResourcesPlugin;" + NL;
	protected final String TEXT_9 = NL + "import org.eclipse.core.runtime.IProgressMonitor;" + NL + "" + NL
			+ "import org.eclipse.jface.dialogs.MessageDialog;" + NL + "" + NL
			+ "import org.eclipse.jface.viewers.IStructuredSelection;" + NL + "" + NL
			+ "import org.eclipse.jface.wizard.Wizard;" + NL + "import org.eclipse.jface.wizard.WizardPage;" + NL + ""
			+ NL + "import org.eclipse.swt.SWT;" + NL + "" + NL + "import org.eclipse.swt.events.ModifyListener;" + NL
			+ "import org.eclipse.swt.events.ModifyEvent;" + NL + "" + NL + "import org.eclipse.swt.layout.GridData;"
			+ NL + "import org.eclipse.swt.layout.GridLayout;" + NL + "" + NL + "import org.eclipse.swt.widgets.Combo;"
			+ NL + "import org.eclipse.swt.widgets.Composite;" + NL + "import org.eclipse.swt.widgets.Label;" + NL + ""
			+ NL + "import org.eclipse.ui.INewWizard;" + NL + "import org.eclipse.ui.IWorkbench;" + NL;
	protected final String TEXT_10 = NL + "import org.eclipse.ui.actions.WorkspaceModifyOperation;" + NL + "" + NL
			+ "import org.eclipse.ui.dialogs.WizardNewFileCreationPage;" + NL + "" + NL
			+ "import org.eclipse.ui.part.FileEditorInput;" + NL + "import org.eclipse.ui.part.ISetSelectionTarget;"
			+ NL;
	protected final String TEXT_11 = NL + "import ";
	protected final String TEXT_12 = ";";
	protected final String TEXT_13 = NL + "import ";
	protected final String TEXT_14 = ";" + NL + "import ";
	protected final String TEXT_15 = ";" + NL + NL;
	protected final String TEXT_16 = NL + NL + NL + "/**" + NL
			+ " * This is a simple wizard for creating a new model file." + NL + " * <!-- begin-user-doc -->" + NL
			+ " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class ";
	protected final String TEXT_17 = " extends Wizard implements INewWizard" + NL + "{";
	protected final String TEXT_18 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
	protected final String TEXT_19 = " copyright = ";
	protected final String TEXT_20 = ";";
	protected final String TEXT_21 = NL;
	protected final String TEXT_22 = NL + "\t/**" + NL + "\t * The supported extensions for created files." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic static final ";
	protected final String TEXT_23 = " FILE_EXTENSIONS =" + NL + "\t\tCollections.unmodifiableList(Arrays.asList(";
	protected final String TEXT_24 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_25 = "FilenameExtensions\").split(\"\\\\s*,\\\\s*\")));";
	protected final String TEXT_26 = NL + NL + "\t/**" + NL
			+ "\t * A formatted list of supported file extensions, suitable for display." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic static final String FORMATTED_FILE_EXTENSIONS =" + NL + "\t\t";
	protected final String TEXT_27 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_28 = "FilenameExtensions\").replaceAll(\"\\\\s*,\\\\s*\", \", \");";
	protected final String TEXT_29 = NL + NL + "\t/**" + NL + "\t * This caches an instance of the model package." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tprotected ";
	protected final String TEXT_30 = " ";
	protected final String TEXT_31 = " = ";
	protected final String TEXT_32 = ".eINSTANCE;" + NL + "" + NL + "\t/**" + NL
			+ "\t * This caches an instance of the model factory." + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
	protected final String TEXT_33 = " ";
	protected final String TEXT_34 = " = ";
	protected final String TEXT_35 = ".get";
	protected final String TEXT_36 = "();" + NL;
	protected final String TEXT_37 = NL + "\t/**" + NL + "\t * This is the file creation page." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tprotected ";
	protected final String TEXT_38 = "NewFileCreationPage newFileCreationPage;" + NL;
	protected final String TEXT_39 = NL + "\t/**" + NL + "\t * This is the initial object creation page." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tprotected ";
	protected final String TEXT_40 = "InitialObjectCreationPage initialObjectCreationPage;" + NL + "" + NL + "\t/**"
			+ NL + "\t * Remember the selection during initialization for populating the default container." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tprotected IStructuredSelection selection;" + NL + "" + NL + "\t/**" + NL
			+ "\t * Remember the workbench during initialization." + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
			+ "\tprotected IWorkbench workbench;" + NL + "" + NL + "\t/**";
	protected final String TEXT_41 = NL + "\t * Caches the names of the types that can be created as the root object.";
	protected final String TEXT_42 = NL + "\t * Caches the names of the features representing global elements.";
	protected final String TEXT_43 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
	protected final String TEXT_44 = " initialObjectNames;" + NL + "" + NL + "\t/**" + NL
			+ "\t * This just records the information." + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
			+ "\tpublic void init(IWorkbench workbench, IStructuredSelection selection)" + NL + "\t{" + NL
			+ "\t\tthis.workbench = workbench;" + NL + "\t\tthis.selection = selection;" + NL + "\t\tsetWindowTitle(";
	protected final String TEXT_45 = ".INSTANCE.getString(\"_UI_Wizard_label\"));";
	protected final String TEXT_46 = NL
			+ "\t\tsetDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(";
	protected final String TEXT_47 = ".INSTANCE.getImage(\"full/wizban/New";
	protected final String TEXT_48 = "\")));";
	protected final String TEXT_49 = NL + "\t}" + NL + "" + NL + "\t/**";
	protected final String TEXT_50 = NL + "\t * Returns the names of the types that can be created as the root object.";
	protected final String TEXT_51 = NL + "\t * Returns the names of the features representing global elements.";
	protected final String TEXT_52 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL
			+ "\t * @generated" + NL + "\t */" + NL + "\tprotected ";
	protected final String TEXT_53 = " getInitialObjectNames()" + NL + "\t{" + NL
			+ "\t\tif (initialObjectNames == null)" + NL + "\t\t{" + NL + "\t\t\tinitialObjectNames = new ";
	protected final String TEXT_54 = "();";
	protected final String TEXT_55 = NL + "\t\t\tfor (EClassifier eClassifier : ";
	protected final String TEXT_56 = ".getEClassifiers())";
	protected final String TEXT_57 = NL + "\t\t\tfor (Iterator classifiers = ";
	protected final String TEXT_58 = ".getEClassifiers().iterator(); classifiers.hasNext(); )";
	protected final String TEXT_59 = NL + "\t\t\t{";
	protected final String TEXT_60 = NL + "\t\t\t\tEClassifier eClassifier = (EClassifier)classifiers.next();";
	protected final String TEXT_61 = NL + "\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t{" + NL
			+ "\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\tif (!eClass.isAbstract())" + NL
			+ "\t\t\t\t\t{" + NL + "\t\t\t\t\t\tinitialObjectNames.add(eClass.getName());" + NL + "\t\t\t\t\t}" + NL
			+ "\t\t\t\t}" + NL + "\t\t\t}";
	protected final String TEXT_62 = NL + "\t\t\tfor (";
	protected final String TEXT_63 = " eStructuralFeature : ";
	protected final String TEXT_64 = ".INSTANCE.getAllElements(";
	protected final String TEXT_65 = ".INSTANCE.getDocumentRoot(";
	protected final String TEXT_66 = ")))";
	protected final String TEXT_67 = NL + "\t\t\tfor (Iterator elements = ";
	protected final String TEXT_68 = ".INSTANCE.getAllElements(";
	protected final String TEXT_69 = ".INSTANCE.getDocumentRoot(";
	protected final String TEXT_70 = ")).iterator(); elements.hasNext(); )";
	protected final String TEXT_71 = NL + "\t\t\t{";
	protected final String TEXT_72 = NL + "\t\t\t\t";
	protected final String TEXT_73 = " eStructuralFeature = (";
	protected final String TEXT_74 = ")elements.next();";
	protected final String TEXT_75 = NL + "\t\t\t\tif (eStructuralFeature.isChangeable())" + NL + "\t\t\t\t{" + NL
			+ "\t\t\t\t\tEClassifier eClassifier = eStructuralFeature.getEType();" + NL
			+ "\t\t\t\t\tif (eClassifier instanceof EClass)" + NL + "\t\t\t\t\t{" + NL
			+ "\t\t\t\t\t\tEClass eClass = (EClass)eClassifier;" + NL + "\t\t\t\t\t\tif (!eClass.isAbstract())" + NL
			+ "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tinitialObjectNames.add(eStructuralFeature.getName());" + NL
			+ "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t}" + NL + "\t\t\t\t}" + NL + "\t\t\t}";
	protected final String TEXT_76 = NL + "\t\t\tCollections.sort(initialObjectNames, ";
	protected final String TEXT_77 = "CommonPlugin.INSTANCE.getComparator()";
	protected final String TEXT_78 = "java.text.Collator.getInstance()";
	protected final String TEXT_79 = ");" + NL + "\t\t}" + NL + "\t\treturn initialObjectNames;" + NL + "\t}" + NL + ""
			+ NL + "\t/**" + NL + "\t * Create a new model." + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL
			+ "\tprotected EObject createInitialModel()" + NL + "\t{";
	protected final String TEXT_80 = NL + "\t\tEClass eClass = (EClass)";
	protected final String TEXT_81 = ".getEClassifier(initialObjectCreationPage.getInitialObjectName());" + NL
			+ "\t\tEObject rootObject = ";
	protected final String TEXT_82 = ".create(eClass);";
	protected final String TEXT_83 = NL + "\t\tEClass eClass = ";
	protected final String TEXT_84 = ".INSTANCE.getDocumentRoot(";
	protected final String TEXT_85 = ");"
			+ NL
			+ "\t\tEStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(initialObjectCreationPage.getInitialObjectName());"
			+ NL + "\t\tEObject rootObject = ";
	protected final String TEXT_86 = ".create(eClass);" + NL + "\t\trootObject.eSet(eStructuralFeature, ";
	protected final String TEXT_87 = ".create((EClass)eStructuralFeature.getEType()));";
	protected final String TEXT_88 = NL + "\t\treturn rootObject;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL
			+ "\t * Do the work after everything is specified." + NL + "\t * <!-- begin-user-doc -->" + NL
			+ "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
	protected final String TEXT_89 = NL + "\t@Override";
	protected final String TEXT_90 = NL + "\tpublic boolean performFinish()" + NL + "\t{" + NL + "\t\ttry" + NL
			+ "\t\t{";
	protected final String TEXT_91 = NL + "\t\t\t// Get the URI of the model file." + NL + "\t\t\t//" + NL
			+ "\t\t\tfinal URI fileURI = getModelURI();" + NL + "\t\t\tif (new ";
	protected final String TEXT_92 = "(fileURI.toFileString()).exists())" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tif (!MessageDialog.openQuestion" + NL + "\t\t\t\t\t\t(getShell()," + NL + "\t\t\t\t\t\t ";
	protected final String TEXT_93 = ".INSTANCE.getString(\"_UI_Question_title\"),";
	protected final String TEXT_94 = NL + "\t\t\t\t\t\t ";
	protected final String TEXT_95 = ".INSTANCE.getString(\"_WARN_FileConflict\", new String []{ fileURI.toFileString() })))";
	protected final String TEXT_96 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tinitialObjectCreationPage.selectFileField();"
			+ NL + "\t\t\t\t\treturn false;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\t" + NL
			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL + "\t\t\t";
	protected final String TEXT_97 = " operation = new ";
	protected final String TEXT_98 = "()" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tpublic void run(IProgressMonitor progressMonitor)";
	protected final String TEXT_99 = NL + "\t\t\t// Remember the file." + NL + "\t\t\t//" + NL
			+ "\t\t\tfinal IFile modelFile = getModelFile();" + NL + "" + NL
			+ "\t\t\t// Do the work within an operation." + NL + "\t\t\t//" + NL
			+ "\t\t\tWorkspaceModifyOperation operation =" + NL + "\t\t\t\tnew WorkspaceModifyOperation()" + NL
			+ "\t\t\t\t{";
	protected final String TEXT_100 = NL + "\t\t\t\t\t@Override";
	protected final String TEXT_101 = NL + "\t\t\t\t\tprotected void execute(IProgressMonitor progressMonitor)";
	protected final String TEXT_102 = NL + "\t\t\t\t\t{" + NL + "\t\t\t\t\t\ttry" + NL + "\t\t\t\t\t\t{" + NL
			+ "\t\t\t\t\t\t\t// Create a resource set" + NL + "\t\t\t\t\t\t\t//" + NL
			+ "\t\t\t\t\t\t\tResourceSet resourceSet = new ResourceSetImpl();" + NL;
	protected final String TEXT_103 = NL + "\t\t\t\t\t\t\t// Get the URI of the model file." + NL + "\t\t\t\t\t\t\t//"
			+ NL
			+ "\t\t\t\t\t\t\tURI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);"
			+ NL;
	protected final String TEXT_104 = NL + "\t\t\t\t\t\t\t// Create a resource for this file." + NL
			+ "\t\t\t\t\t\t\t//" + NL + "\t\t\t\t\t\t\tResource resource = resourceSet.createResource(fileURI";
	protected final String TEXT_105 = ", ";
	protected final String TEXT_106 = ".eCONTENT_TYPE";
	protected final String TEXT_107 = ");" + NL + "" + NL
			+ "\t\t\t\t\t\t\t// Add the initial model object to the contents." + NL + "\t\t\t\t\t\t\t//" + NL
			+ "\t\t\t\t\t\t\tEObject rootObject = createInitialModel();" + NL + "\t\t\t\t\t\t\tif (rootObject != null)"
			+ NL + "\t\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t\tresource.getContents().add(rootObject);" + NL
			+ "\t\t\t\t\t\t\t}" + NL + "" + NL
			+ "\t\t\t\t\t\t\t// Save the contents of the resource to the file system." + NL + "\t\t\t\t\t\t\t//" + NL
			+ "\t\t\t\t\t\t\t";
	protected final String TEXT_108 = " options = new ";
	protected final String TEXT_109 = "();" + NL
			+ "\t\t\t\t\t\t\toptions.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());" + NL
			+ "\t\t\t\t\t\t\tresource.save(options);" + NL + "\t\t\t\t\t\t}" + NL
			+ "\t\t\t\t\t\tcatch (Exception exception)" + NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\t";
	protected final String TEXT_110 = ".INSTANCE.log(exception);" + NL + "\t\t\t\t\t\t}" + NL + "\t\t\t\t\t\tfinally"
			+ NL + "\t\t\t\t\t\t{" + NL + "\t\t\t\t\t\t\tprogressMonitor.done();" + NL + "\t\t\t\t\t\t}" + NL
			+ "\t\t\t\t\t}" + NL + "\t\t\t\t};" + NL + "" + NL + "\t\t\tgetContainer().run(false, false, operation);"
			+ NL;
	protected final String TEXT_111 = NL + "\t\t\treturn ";
	protected final String TEXT_112 = ".openEditor(workbench, fileURI);\t\t\t";
	protected final String TEXT_113 = NL + "\t\t\t// Select the new file resource in the current view." + NL
			+ "\t\t\t//" + NL + "\t\t\t";
	protected final String TEXT_114 = " workbenchWindow = workbench.getActiveWorkbenchWindow();" + NL + "\t\t\t";
	protected final String TEXT_115 = " page = workbenchWindow.getActivePage();" + NL + "\t\t\tfinal ";
	protected final String TEXT_116 = " activePart = page.getActivePart();" + NL
			+ "\t\t\tif (activePart instanceof ISetSelectionTarget)" + NL + "\t\t\t{" + NL + "\t\t\t\tfinal ";
	protected final String TEXT_117 = " targetSelection = new ";
	protected final String TEXT_118 = "(modelFile);" + NL + "\t\t\t\tgetShell().getDisplay().asyncExec" + NL
			+ "\t\t\t\t\t(new Runnable()" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t public void run()" + NL
			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t ((ISetSelectionTarget)activePart).selectReveal(targetSelection);"
			+ NL + "\t\t\t\t\t\t }" + NL + "\t\t\t\t\t });" + NL + "\t\t\t}" + NL + "" + NL
			+ "\t\t\t// Open an editor on the new file." + NL + "\t\t\t//" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tpage.openEditor" + NL + "\t\t\t\t\t(new FileEditorInput(modelFile)," + NL
			+ "\t\t\t\t\t workbench.getEditorRegistry().getDefaultEditor";
	protected final String TEXT_119 = "(modelFile.getFullPath().toString()).getId());";
	protected final String TEXT_120 = NL + "\t\t\t\t\t \t(modelFile.getFullPath().toString()," + NL + "\t\t\t\t\t \t ";
	protected final String TEXT_121 = ".getContentTypeManager().getContentType(";
	protected final String TEXT_122 = ".eCONTENT_TYPE)).getId());";
	protected final String TEXT_123 = "\t\t\t\t\t \t " + NL + "\t\t\t}" + NL + "\t\t\tcatch (";
	protected final String TEXT_124 = " exception)" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tMessageDialog.openError(workbenchWindow.getShell(), ";
	protected final String TEXT_125 = ".INSTANCE.getString(\"_UI_OpenEditorError_label\"), exception.getMessage());";
	protected final String TEXT_126 = NL + "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL
			+ "\t\t\treturn true;";
	protected final String TEXT_127 = NL + "\t\t}" + NL + "\t\tcatch (Exception exception)" + NL + "\t\t{" + NL
			+ "\t\t\t";
	protected final String TEXT_128 = ".INSTANCE.log(exception);" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL
			+ "\t}" + NL;
	protected final String TEXT_129 = NL + "\t/**" + NL + "\t * This is the one page of the wizard." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic class ";
	protected final String TEXT_130 = "NewFileCreationPage extends WizardNewFileCreationPage" + NL + "\t{" + NL
			+ "\t\t/**" + NL + "\t\t * Pass in the selection." + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic ";
	protected final String TEXT_131 = "NewFileCreationPage(String pageId, IStructuredSelection selection)" + NL
			+ "\t\t{" + NL + "\t\t\tsuper(pageId, selection);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
			+ "\t\t * The framework calls this to see if the file is correct." + NL + "\t\t * <!-- begin-user-doc -->"
			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
	protected final String TEXT_132 = NL + "\t\t@Override";
	protected final String TEXT_133 = NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{" + NL
			+ "\t\t\tif (super.validatePage())" + NL + "\t\t\t{" + NL + "\t\t\t\tString extension = new ";
	protected final String TEXT_134 = "(getFileName()).getFileExtension();"
			+ NL
			+ "\t\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))"
			+ NL
			+ "\t\t\t\t{"
			+ NL
			+ "\t\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
	protected final String TEXT_135 = NL + "\t\t\t\t\tsetErrorMessage(";
	protected final String TEXT_136 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));"
			+ NL
			+ "\t\t\t\t\treturn false;"
			+ NL
			+ "\t\t\t\t}"
			+ NL
			+ "\t\t\t\treturn true;"
			+ NL
			+ "\t\t\t}"
			+ NL
			+ "\t\t\treturn false;"
			+ NL
			+ "\t\t}"
			+ NL
			+ ""
			+ NL
			+ "\t\t/**"
			+ NL
			+ "\t\t * <!-- begin-user-doc -->"
			+ NL
			+ "\t\t * <!-- end-user-doc -->"
			+ NL
			+ "\t\t * @generated"
			+ NL
			+ "\t\t */"
			+ NL
			+ "\t\tpublic IFile getModelFile()"
			+ NL
			+ "\t\t{"
			+ NL
			+ "\t\t\treturn ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));"
			+ NL + "\t\t}" + NL + "\t}" + NL;
	protected final String TEXT_137 = NL + "\t/**" + NL
			+ "\t * This is the page where the type of object to create is selected." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic class ";
	protected final String TEXT_138 = "InitialObjectCreationPage extends WizardPage" + NL + "\t{";
	protected final String TEXT_139 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
	protected final String TEXT_140 = " fileField;" + NL;
	protected final String TEXT_141 = NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tprotected Combo initialObjectField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * @generated" + NL
			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t */" + NL
			+ "\t\tprotected ";
	protected final String TEXT_142 = " encodings;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tprotected Combo encodingField;" + NL + "" + NL + "\t\t/**" + NL + "\t\t * Pass in the selection."
			+ NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated"
			+ NL + "\t\t */" + NL + "\t\tpublic ";
	protected final String TEXT_143 = "InitialObjectCreationPage(String pageId)" + NL + "\t\t{" + NL
			+ "\t\t\tsuper(pageId);" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tpublic void createControl(Composite parent)" + NL + "\t\t{" + NL
			+ "\t\t\tComposite composite = new Composite(parent, SWT.NONE);" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tGridLayout layout = new GridLayout();" + NL + "\t\t\t\tlayout.numColumns = 1;" + NL
			+ "\t\t\t\tlayout.verticalSpacing = 12;" + NL + "\t\t\t\tcomposite.setLayout(layout);" + NL + "" + NL
			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.verticalAlignment = GridData.FILL;" + NL
			+ "\t\t\t\tdata.grabExcessVerticalSpace = true;" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;"
			+ NL + "\t\t\t\tcomposite.setLayoutData(data);" + NL + "\t\t\t}" + NL;
	protected final String TEXT_144 = "\t\t\t" + NL + "\t\t\tLabel resourceURILabel = new Label(composite, SWT.LEFT);"
			+ NL + "\t\t\t{" + NL + "\t\t\t\tresourceURILabel.setText(";
	protected final String TEXT_145 = ".INSTANCE.getString(\"_UI_File_label\"));";
	protected final String TEXT_146 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
			+ "\t\t\t\tresourceURILabel.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL
			+ "\t\t\tComposite fileComposite = new Composite(composite, SWT.NONE);" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.END;" + NL
			+ "\t\t\t\tfileComposite.setLayoutData(data);" + NL + "" + NL
			+ "\t\t\t\tGridLayout layout = new GridLayout();" + NL
			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tlayout.marginHeight = 0;" + NL
			+ "\t\t\t\tlayout.marginWidth = 0;" + NL + "\t\t\t\tlayout.numColumns = 2;" + NL
			+ "\t\t\t\tfileComposite.setLayout(layout);" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tfileField = new ";
	protected final String TEXT_147 = "(fileComposite, SWT.BORDER);" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tdata.horizontalSpan = 1;" + NL
			+ "\t\t\t\tfileField.setLayoutData(data);" + NL + "\t\t\t}" + NL + "" + NL
			+ "\t\t\tfileField.addModifyListener(validator);" + NL;
	protected final String TEXT_148 = NL + "\t\t\t";
	protected final String TEXT_149 = " resourceURIBrowseFileSystemButton = new ";
	protected final String TEXT_150 = "(fileComposite, SWT.PUSH);" + NL
			+ "\t\t\tresourceURIBrowseFileSystemButton.setText(";
	protected final String TEXT_151 = ".INSTANCE.getString(\"_UI_Browse_label\"));";
	protected final String TEXT_152 = NL + NL + "\t\t\tresourceURIBrowseFileSystemButton.addSelectionListener" + NL
			+ "\t\t\t\t(new ";
	protected final String TEXT_153 = "()" + NL + "\t\t\t\t {";
	protected final String TEXT_154 = NL + "\t\t\t\t\t @Override";
	protected final String TEXT_155 = NL + "\t\t\t\t\t public void widgetSelected(";
	protected final String TEXT_156 = " event)" + NL + "\t\t\t\t\t {" + NL + "\t\t\t\t\t\t String[] filters = ";
	protected final String TEXT_157 = "(String[])";
	protected final String TEXT_158 = ".FILE_EXTENSION_FILTERS.toArray(new String[";
	protected final String TEXT_159 = ".FILE_EXTENSION_FILTERS.size()]);" + NL + "\t\t\t\t\t\t String[] files = ";
	protected final String TEXT_160 = ".openFilePathDialog(getShell(), ";
	protected final String TEXT_161 = ".SAVE, filters);" + NL + "\t\t\t\t\t\t if (files.length > 0)" + NL
			+ "\t\t\t\t\t\t {" + NL + "\t\t\t\t\t\t\t fileField.setText(files[0]);" + NL + "\t\t\t\t\t\t }" + NL
			+ "\t\t\t\t\t }" + NL + "\t\t\t\t });";
	protected final String TEXT_162 = NL + "\t\t\tLabel containerLabel = new Label(composite, SWT.LEFT);" + NL
			+ "\t\t\t{" + NL + "\t\t\t\tcontainerLabel.setText(";
	protected final String TEXT_163 = ".INSTANCE.getString(\"_UI_ModelObject\"));";
	protected final String TEXT_164 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tcontainerLabel.setLayoutData(data);"
			+ NL + "\t\t\t}" + NL + "" + NL + "\t\t\tinitialObjectField = new Combo(composite, SWT.BORDER);" + NL
			+ "\t\t\t{" + NL + "\t\t\t\tGridData data = new GridData();" + NL
			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tinitialObjectField.setLayoutData(data);"
			+ NL + "\t\t\t}" + NL;
	protected final String TEXT_165 = NL + "\t\t\tfor (String objectName : getInitialObjectNames())" + NL + "\t\t\t{"
			+ NL + "\t\t\t\tinitialObjectField.add(getLabel(objectName));" + NL + "\t\t\t}";
	protected final String TEXT_166 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )"
			+ NL + "\t\t\t{" + NL + "\t\t\t\tinitialObjectField.add(getLabel((String)i.next()));" + NL + "\t\t\t}";
	protected final String TEXT_167 = NL + NL + "\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t{"
			+ NL + "\t\t\t\tinitialObjectField.select(0);" + NL + "\t\t\t}" + NL
			+ "\t\t\tinitialObjectField.addModifyListener(validator);" + NL + "" + NL
			+ "\t\t\tLabel encodingLabel = new Label(composite, SWT.LEFT);" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tencodingLabel.setText(";
	protected final String TEXT_168 = ".INSTANCE.getString(\"_UI_XMLEncoding\"));";
	protected final String TEXT_169 = NL + NL + "\t\t\t\tGridData data = new GridData();" + NL
			+ "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL + "\t\t\t\tencodingLabel.setLayoutData(data);"
			+ NL + "\t\t\t}" + NL + "\t\t\tencodingField = new Combo(composite, SWT.BORDER);" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tGridData data = new GridData();" + NL + "\t\t\t\tdata.horizontalAlignment = GridData.FILL;" + NL
			+ "\t\t\t\tdata.grabExcessHorizontalSpace = true;" + NL + "\t\t\t\tencodingField.setLayoutData(data);" + NL
			+ "\t\t\t}" + NL;
	protected final String TEXT_170 = NL + "\t\t\tfor (String encoding : getEncodings())" + NL + "\t\t\t{" + NL
			+ "\t\t\t\tencodingField.add(encoding);" + NL + "\t\t\t}";
	protected final String TEXT_171 = NL + "\t\t\tfor (Iterator i = getEncodings().iterator(); i.hasNext(); )" + NL
			+ "\t\t\t{" + NL + "\t\t\t\tencodingField.add((String)i.next());" + NL + "\t\t\t}";
	protected final String TEXT_172 = NL + NL + "\t\t\tencodingField.select(0);" + NL
			+ "\t\t\tencodingField.addModifyListener(validator);" + NL + "" + NL
			+ "\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\tsetControl(composite);" + NL + "\t\t}" + NL + ""
			+ NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ModifyListener validator =" + NL
			+ "\t\t\tnew ModifyListener()" + NL + "\t\t\t{" + NL + "\t\t\t\tpublic void modifyText(ModifyEvent e)" + NL
			+ "\t\t\t\t{" + NL + "\t\t\t\t\tsetPageComplete(validatePage());" + NL + "\t\t\t\t}" + NL + "\t\t\t};" + NL
			+ "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL
			+ "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected boolean validatePage()" + NL + "\t\t{";
	protected final String TEXT_173 = NL
			+ "\t\t\tURI fileURI = getFileURI();"
			+ NL
			+ "\t\t\tif (fileURI == null || fileURI.isEmpty())"
			+ NL
			+ "\t\t\t{"
			+ NL
			+ "\t\t\t\tsetErrorMessage(null);"
			+ NL
			+ "\t\t\t\treturn false;"
			+ NL
			+ "\t\t\t}"
			+ NL
			+ ""
			+ NL
			+ "\t\t\tString extension = fileURI.fileExtension();"
			+ NL
			+ "\t\t\tif (extension == null || !FILE_EXTENSIONS.contains(extension))"
			+ NL
			+ "\t\t\t{"
			+ NL
			+ "\t\t\t\tString key = FILE_EXTENSIONS.size() > 1 ? \"_WARN_FilenameExtensions\" : \"_WARN_FilenameExtension\";";
	protected final String TEXT_174 = NL + "\t\t\t\tsetErrorMessage(";
	protected final String TEXT_175 = ".INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));" + NL
			+ "\t\t\t\treturn false;" + NL + "\t\t\t}" + NL + "" + NL + "\t\t\tsetErrorMessage(null);";
	protected final String TEXT_176 = NL
			+ "\t\t\treturn getInitialObjectName() != null && getEncodings().contains(encodingField.getText());" + NL
			+ "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */";
	protected final String TEXT_177 = NL + "\t\t@Override";
	protected final String TEXT_178 = NL + "\t\tpublic void setVisible(boolean visible)" + NL + "\t\t{" + NL
			+ "\t\t\tsuper.setVisible(visible);" + NL + "\t\t\tif (visible)" + NL + "\t\t\t{";
	protected final String TEXT_179 = NL + "\t\t\t\tif (initialObjectField.getItemCount() == 1)" + NL + "\t\t\t\t{"
			+ NL + "\t\t\t\t\tinitialObjectField.clearSelection();" + NL + "\t\t\t\t\tencodingField.setFocus();" + NL
			+ "\t\t\t\t}" + NL + "\t\t\t\telse" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodingField.clearSelection();"
			+ NL + "\t\t\t\t\tinitialObjectField.setFocus();" + NL + "\t\t\t\t}";
	protected final String TEXT_180 = NL + "\t\t\t\tinitialObjectField.clearSelection();" + NL
			+ "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.setFocus();";
	protected final String TEXT_181 = NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL
			+ "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL
			+ "\t\t */" + NL + "\t\tpublic String getInitialObjectName()" + NL + "\t\t{" + NL
			+ "\t\t\tString label = initialObjectField.getText();" + NL;
	protected final String TEXT_182 = NL + "\t\t\tfor (String name : getInitialObjectNames())";
	protected final String TEXT_183 = NL + "\t\t\tfor (Iterator i = getInitialObjectNames().iterator(); i.hasNext(); )";
	protected final String TEXT_184 = NL + "\t\t\t{";
	protected final String TEXT_185 = NL + "\t\t\t\tString name = (String)i.next();";
	protected final String TEXT_186 = NL + "\t\t\t\tif (getLabel(name).equals(label))" + NL + "\t\t\t\t{" + NL
			+ "\t\t\t\t\treturn name;" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn null;" + NL + "\t\t}"
			+ NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL + "\t\t * <!-- end-user-doc -->"
			+ NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tpublic String getEncoding()" + NL + "\t\t{" + NL
			+ "\t\t\treturn encodingField.getText();" + NL + "\t\t}";
	protected final String TEXT_187 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tpublic URI getFileURI()" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
			+ "\t\t\t\treturn URI.createFileURI(fileField.getText());" + NL + "\t\t\t}" + NL
			+ "\t\t\tcatch (Exception exception)" + NL + "\t\t\t{" + NL + "\t\t\t\t// Ignore" + NL + "\t\t\t}" + NL
			+ "\t\t\treturn null;" + NL + "\t\t}" + NL + "" + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->"
			+ NL + "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tpublic void selectFileField()" + NL + "\t\t{" + NL + "\t\t\t\tinitialObjectField.clearSelection();"
			+ NL + "\t\t\t\tencodingField.clearSelection();" + NL + "\t\t\t\tfileField.selectAll();" + NL
			+ "\t\t\t\tfileField.setFocus();" + NL + "\t\t}\t\t";
	protected final String TEXT_188 = NL + NL + "\t\t/**" + NL + "\t\t * Returns the label for the specified ";
	protected final String TEXT_189 = " name." + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL
			+ "\t\tprotected String getLabel(String ";
	protected final String TEXT_190 = "Name)" + NL + "\t\t{" + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL
			+ "\t\t\t\treturn ";
	protected final String TEXT_191 = ".INSTANCE.getString(\"";
	protected final String TEXT_192 = "\" + ";
	protected final String TEXT_193 = "Name + \"_";
	protected final String TEXT_194 = "\");";
	protected final String TEXT_195 = NL + "\t\t\t}" + NL + "\t\t\tcatch(MissingResourceException mre)" + NL
			+ "\t\t\t{" + NL + "\t\t\t\t";
	protected final String TEXT_196 = ".INSTANCE.log(mre);" + NL + "\t\t\t}" + NL + "\t\t\treturn ";
	protected final String TEXT_197 = "Name;" + NL + "\t\t}";
	protected final String TEXT_198 = NL + NL + "\t\t/**" + NL + "\t\t * <!-- begin-user-doc -->" + NL
			+ "\t\t * <!-- end-user-doc -->" + NL + "\t\t * @generated" + NL + "\t\t */" + NL + "\t\tprotected ";
	protected final String TEXT_199 = " getEncodings()" + NL + "\t\t{" + NL + "\t\t\tif (encodings == null)" + NL
			+ "\t\t\t{" + NL + "\t\t\t\tencodings = new ";
	protected final String TEXT_200 = "();" + NL
			+ "\t\t\t\tfor (StringTokenizer stringTokenizer = new StringTokenizer(";
	protected final String TEXT_201 = ".INSTANCE.getString(\"_UI_XMLEncodingChoices\")); stringTokenizer.hasMoreTokens(); )";
	protected final String TEXT_202 = NL + "\t\t\t\t{" + NL + "\t\t\t\t\tencodings.add(stringTokenizer.nextToken());"
			+ NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL + "\t\t\treturn encodings;" + NL + "\t\t}" + NL + "\t}" + NL + ""
			+ NL + "\t/**" + NL + "\t * The framework calls this to create the contents of the wizard." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */";
	protected final String TEXT_203 = NL + "\t\t@Override";
	protected final String TEXT_204 = NL + "\tpublic void addPages()" + NL + "\t{";
	protected final String TEXT_205 = NL + "\t\t// Create a page, set the title, and the initial model file name." + NL
			+ "\t\t//" + NL + "\t\tnewFileCreationPage = new ";
	protected final String TEXT_206 = "NewFileCreationPage(\"Whatever\", selection);";
	protected final String TEXT_207 = NL + "\t\tnewFileCreationPage.setTitle(";
	protected final String TEXT_208 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_209 = "_label\"));";
	protected final String TEXT_210 = NL + "\t\tnewFileCreationPage.setDescription(";
	protected final String TEXT_211 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_212 = "_description\"));";
	protected final String TEXT_213 = NL + "\t\tnewFileCreationPage.setFileName(";
	protected final String TEXT_214 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_215 = "FilenameDefaultBase\") + \".\" + ";
	protected final String TEXT_216 = "(String)";
	protected final String TEXT_217 = "FILE_EXTENSIONS.get(0));";
	protected final String TEXT_218 = NL + "\t\taddPage(newFileCreationPage);" + NL + "" + NL
			+ "\t\t// Try and get the resource selection to determine a current directory for the file dialog." + NL
			+ "\t\t//" + NL + "\t\tif (selection != null && !selection.isEmpty())" + NL + "\t\t{" + NL
			+ "\t\t\t// Get the resource..." + NL + "\t\t\t//" + NL
			+ "\t\t\tObject selectedElement = selection.iterator().next();" + NL
			+ "\t\t\tif (selectedElement instanceof IResource)" + NL + "\t\t\t{" + NL
			+ "\t\t\t\t// Get the resource parent, if its a file." + NL + "\t\t\t\t//" + NL
			+ "\t\t\t\tIResource selectedResource = (IResource)selectedElement;" + NL
			+ "\t\t\t\tif (selectedResource.getType() == IResource.FILE)" + NL + "\t\t\t\t{" + NL
			+ "\t\t\t\t\tselectedResource = selectedResource.getParent();" + NL + "\t\t\t\t}" + NL + "" + NL
			+ "\t\t\t\t// This gives us a directory..." + NL + "\t\t\t\t//" + NL
			+ "\t\t\t\tif (selectedResource instanceof IFolder || selectedResource instanceof IProject)" + NL
			+ "\t\t\t\t{" + NL + "\t\t\t\t\t// Set this for the container." + NL + "\t\t\t\t\t//" + NL
			+ "\t\t\t\t\tnewFileCreationPage.setContainerFullPath(selectedResource.getFullPath());" + NL + "" + NL
			+ "\t\t\t\t\t// Make up a unique new name here." + NL + "\t\t\t\t\t//" + NL
			+ "\t\t\t\t\tString defaultModelBaseFilename = ";
	protected final String TEXT_219 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_220 = "FilenameDefaultBase\");";
	protected final String TEXT_221 = NL + "\t\t\t\t\tString defaultModelFilenameExtension = ";
	protected final String TEXT_222 = "(String)";
	protected final String TEXT_223 = "FILE_EXTENSIONS.get(0);" + NL
			+ "\t\t\t\t\tString modelFilename = defaultModelBaseFilename + \".\" + defaultModelFilenameExtension;";
	protected final String TEXT_224 = NL
			+ "\t\t\t\t\tfor (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i)" + NL
			+ "\t\t\t\t\t{" + NL
			+ "\t\t\t\t\t\tmodelFilename = defaultModelBaseFilename + i + \".\" + defaultModelFilenameExtension;";
	protected final String TEXT_225 = NL + "\t\t\t\t\t}" + NL
			+ "\t\t\t\t\tnewFileCreationPage.setFileName(modelFilename);" + NL + "\t\t\t\t}" + NL + "\t\t\t}" + NL
			+ "\t\t}";
	protected final String TEXT_226 = NL + "\t\tinitialObjectCreationPage = new ";
	protected final String TEXT_227 = "InitialObjectCreationPage(\"Whatever2\");";
	protected final String TEXT_228 = NL + "\t\tinitialObjectCreationPage.setTitle(";
	protected final String TEXT_229 = ".INSTANCE.getString(\"_UI_";
	protected final String TEXT_230 = "_label\"));";
	protected final String TEXT_231 = NL + "\t\tinitialObjectCreationPage.setDescription(";
	protected final String TEXT_232 = ".INSTANCE.getString(\"_UI_Wizard_initial_object_description\"));";
	protected final String TEXT_233 = NL + "\t\taddPage(initialObjectCreationPage);" + NL + "\t}" + NL;
	protected final String TEXT_234 = NL + "\t/**" + NL + "\t * Get the URI from the page." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic URI getModelURI()" + NL + "\t{" + NL
			+ "\t\treturn initialObjectCreationPage.getFileURI();" + NL + "\t}" + NL;
	protected final String TEXT_235 = NL + "\t/**" + NL + "\t * Get the file from the page." + NL
			+ "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL
			+ "\t */" + NL + "\tpublic IFile getModelFile()" + NL + "\t{" + NL
			+ "\t\treturn newFileCreationPage.getModelFile();" + NL + "\t}" + NL;
	protected final String TEXT_236 = NL + "}";
	protected final String TEXT_237 = NL;
	protected final String TEXT_238 = NL;
	protected final String TEXT_239 = NL;

	public ModelWizard() {
		//Here is the constructor
		StringBuffer stringBuffer = new StringBuffer();

		// add initialisation of the pattern variables (declaration has been already done).

	}

	public String generate(Object argument) throws Exception {
		final StringBuffer stringBuffer = new StringBuffer();

		InternalPatternContext ctx = (InternalPatternContext) argument;
		Map<String, String> queryCtx = null;
		IQuery.ParameterDescription paramDesc = null;
		Node.Container currentNode = ctx.getNode();

		List<Object> parameterList = null;
		//this pattern can only be called by another (i.e. it's not an entry point in execution)

		for (Object parameterParameter : parameterList) {

			this.parameter = (org.eclipse.emf.codegen.ecore.genmodel.GenPackage) parameterParameter;

			if (preCondition(ctx)) {
				ctx.setNode(new Node.Container(currentNode, getClass()));
				orchestration(ctx);
			}

		}
		ctx.setNode(currentNode);
		if (ctx.useReporter()) {
			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
		}

		stringBuffer.append(TEXT_238);
		stringBuffer.append(TEXT_239);
		return stringBuffer.toString();
	}

	public String orchestration(PatternContext ctx) throws Exception {
		InternalPatternContext ictx = (InternalPatternContext) ctx;

		super.orchestration(new SuperOrchestrationContext(ictx));

		method_preGenerate(new StringBuffer(), ictx);

		method_doGenerate(new StringBuffer(), ictx);
		{
			final Map<String, Object> parameters = getParameters();
			CallbackContext ctx_callback = new CallbackContext(ictx);
			CallHelper.callBack(ctx_callback, parameters);
		}

		method_postGenerate(new StringBuffer(), ictx);

		if (ictx.useReporter()) {
			Map<String, Object> parameterValues = new HashMap<String, Object>();
			parameterValues.put("parameter", this.parameter);
			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
		}
		return null;
	}

	public Map<String, Object> getParameters() {
		final Map<String, Object> parameters = new HashMap<String, Object>();
		parameters.put("parameter", this.parameter);
		return parameters;
	}

	protected void method_setReporterVariables(final StringBuffer stringBuffer, final PatternContext ctx)
			throws Exception {

		GenPackage genPackage = parameter;
		targetPath = genPackage.getGenModel().getEditorDirectory();
		packageName = genPackage.getPresentationPackageName();
		className = genPackage.getModelWizardClassName();

		InternalPatternContext ictx = (InternalPatternContext) ctx;
		new Node.DataLeaf(ictx.getNode(), getClass(), "setReporterVariables", stringBuffer.toString());
	}

	protected void method_setArgument(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

		GenPackage genPackage = parameter;
		argument = parameter;

		InternalPatternContext ictx = (InternalPatternContext) ctx;
		new Node.DataLeaf(ictx.getNode(), getClass(), "setArgument", stringBuffer.toString());
	}

	protected void method_ensureProjectExists(final StringBuffer stringBuffer, final PatternContext ctx)
			throws Exception {

		new CodegenGeneratorAdapter(parameter).ensureProjectExists(genModel.getEditorDirectory(), genModel,
				GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, genModel.isUpdateClasspath(), new BasicMonitor());

		InternalPatternContext ictx = (InternalPatternContext) ctx;
		new Node.DataLeaf(ictx.getNode(), getClass(), "ensureProjectExists", stringBuffer.toString());
	}

	protected void method_doGenerate(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception {

		/**
		 * Copyright (c) 2002-2010 IBM Corporation and others.
		 * All rights reserved.   This program and the accompanying materials
		 * are made available under the terms of the Eclipse Public License v1.0
		 * which accompanies this distribution, and is available at
		 * http://www.eclipse.org/legal/epl-v10.html
		 *
		 * Contributors:
		 *   IBM - Initial API and implementation
		 */

		GenPackage genPackage = (GenPackage) argument;
		GenModel genModel = genPackage.getGenModel();
		stringBuffer.append(TEXT_1);
		{
			//<%@ egf:patternCall patternId="platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#LogicalName=org.eclipse.egf.emf.pattern.base.HeaderJava" args="parameter:argument"%>

			InternalPatternContext ictx = (InternalPatternContext) ctx;
			new Node.DataLeaf(ictx.getNode(), getClass(), null, stringBuffer.toString());
			stringBuffer.setLength(0);

			final Map<String, Object> callParameters = new HashMap<String, Object>();
			callParameters.put("argument", parameter);
			CallHelper
					.executeWithParameterInjection(
							"platform:/plugin/org.eclipse.egf.emf.pattern.base/egf/EMF_Pattern_Base.fcore#_XHLrsCwtEd-jc5T-XaRJlg",
							new ExecutionContext((InternalPatternContext) ctx), callParameters);
			stringBuffer.setLength(0);
		}

		String _ListOfString = "List"
				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
		String _ArrayListOfString = "ArrayList"
				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
		String _CollectionOfString = "Collection"
				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.String") + ">" : "");
		String _MapOfObjectToObject = "Map"
				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "
						+ genModel.getImportedName("java.lang.Object") + ">" : "");
		String _HashMapOfObjectToObject = "HashMap"
				+ (genModel.useGenerics() ? "<" + genModel.getImportedName("java.lang.Object") + ", "
						+ genModel.getImportedName("java.lang.Object") + ">" : "");
		stringBuffer.append(TEXT_2);
		stringBuffer.append(genPackage.getPresentationPackageName());
		stringBuffer.append(TEXT_3);
		if (!genModel.useGenerics()) {
			stringBuffer.append(TEXT_4);
		}
		stringBuffer.append(TEXT_5);
		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
			stringBuffer.append(TEXT_6);
		}
		stringBuffer.append(TEXT_7);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_8);
		}
		stringBuffer.append(TEXT_9);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_10);
		}
		if (!genModel.isSuppressEMFMetaData()) {
			stringBuffer.append(TEXT_11);
			stringBuffer.append(genPackage.getQualifiedFactoryInterfaceName());
			stringBuffer.append(TEXT_12);
		}
		stringBuffer.append(TEXT_13);
		stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
		stringBuffer.append(TEXT_14);
		stringBuffer.append(genPackage.getQualifiedEditPluginClassName());
		stringBuffer.append(TEXT_15);
		genModel.markImportLocation(stringBuffer);
		stringBuffer.append(TEXT_16);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_17);
		if (genModel.hasCopyrightField()) {
			stringBuffer.append(TEXT_18);
			stringBuffer.append(genModel.getImportedName("java.lang.String"));
			stringBuffer.append(TEXT_19);
			stringBuffer.append(genModel.getCopyrightFieldLiteral());
			stringBuffer.append(TEXT_20);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_21);
		}
		stringBuffer.append(TEXT_22);
		stringBuffer.append(_ListOfString);
		stringBuffer.append(TEXT_23);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_24);
		stringBuffer.append(genPackage.getEditorClassName());
		stringBuffer.append(TEXT_25);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(genModel.getNonNLS(2));
		stringBuffer.append(TEXT_26);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_27);
		stringBuffer.append(genPackage.getEditorClassName());
		stringBuffer.append(TEXT_28);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(genModel.getNonNLS(2));
		stringBuffer.append(genModel.getNonNLS(3));
		stringBuffer.append(TEXT_29);
		stringBuffer.append(genModel.isSuppressEMFMetaData() ? genModel
				.getImportedName("org.eclipse.emf.ecore.EPackage") : genPackage.getPackageInterfaceName());
		stringBuffer.append(TEXT_30);
		stringBuffer.append(genPackage.getUncapPackageName());
		stringBuffer.append(TEXT_31);
		stringBuffer.append(genPackage.getPackageInterfaceName());
		stringBuffer.append(TEXT_32);
		stringBuffer.append(genModel.isSuppressEMFMetaData() ? genModel
				.getImportedName("org.eclipse.emf.ecore.EFactory") : genPackage.getFactoryInterfaceName());
		stringBuffer.append(TEXT_33);
		stringBuffer.append(genPackage.getUncapFactoryName());
		stringBuffer.append(TEXT_34);
		stringBuffer.append(genPackage.getUncapPackageName());
		stringBuffer.append(TEXT_35);
		stringBuffer.append(genModel.isSuppressEMFMetaData() ? "EFactoryInstance" : genPackage.getFactoryName());
		stringBuffer.append(TEXT_36);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_37);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_38);
		}
		stringBuffer.append(TEXT_39);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_40);
		if (!genPackage.hasDocumentRoot()) {
			stringBuffer.append(TEXT_41);
		} else {
			stringBuffer.append(TEXT_42);
		}
		stringBuffer.append(TEXT_43);
		stringBuffer.append(_ListOfString);
		stringBuffer.append(TEXT_44);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_45);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_46);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_47);
		stringBuffer.append(genPackage.getPrefix());
		stringBuffer.append(TEXT_48);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_49);
		if (!genPackage.hasDocumentRoot()) {
			stringBuffer.append(TEXT_50);
		} else {
			stringBuffer.append(TEXT_51);
		}
		stringBuffer.append(TEXT_52);
		stringBuffer.append(_CollectionOfString);
		stringBuffer.append(TEXT_53);
		stringBuffer.append(_ArrayListOfString);
		stringBuffer.append(TEXT_54);
		if (!genPackage.hasDocumentRoot()) {
			if (genModel.useGenerics()) {
				stringBuffer.append(TEXT_55);
				stringBuffer.append(genPackage.getUncapPackageName());
				stringBuffer.append(TEXT_56);
			} else {
				stringBuffer.append(TEXT_57);
				stringBuffer.append(genPackage.getUncapPackageName());
				stringBuffer.append(TEXT_58);
			}
			stringBuffer.append(TEXT_59);
			if (!genModel.useGenerics()) {
				stringBuffer.append(TEXT_60);
			}
			stringBuffer.append(TEXT_61);
		} else {
			if (genModel.useGenerics()) {
				stringBuffer.append(TEXT_62);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
				stringBuffer.append(TEXT_63);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
				stringBuffer.append(TEXT_64);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
				stringBuffer.append(TEXT_65);
				stringBuffer.append(genPackage.getUncapPackageName());
				stringBuffer.append(TEXT_66);
			} else {
				stringBuffer.append(TEXT_67);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
				stringBuffer.append(TEXT_68);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
				stringBuffer.append(TEXT_69);
				stringBuffer.append(genPackage.getUncapPackageName());
				stringBuffer.append(TEXT_70);
			}
			stringBuffer.append(TEXT_71);
			if (!genModel.useGenerics()) {
				stringBuffer.append(TEXT_72);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
				stringBuffer.append(TEXT_73);
				stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
				stringBuffer.append(TEXT_74);
			}
			stringBuffer.append(TEXT_75);
		}
		stringBuffer.append(TEXT_76);
		if (!genModel.isRichClientPlatform() && genModel.getComplianceLevel().getValue() >= GenJDKLevel.JDK50) {
			stringBuffer.append(TEXT_77);
		} else {
			stringBuffer.append(TEXT_78);
		}
		stringBuffer.append(TEXT_79);
		if (!genPackage.hasDocumentRoot()) {
			stringBuffer.append(TEXT_80);
			stringBuffer.append(genPackage.getUncapPackageName());
			stringBuffer.append(TEXT_81);
			stringBuffer.append(genPackage.getUncapFactoryName());
			stringBuffer.append(TEXT_82);
		} else {
			stringBuffer.append(TEXT_83);
			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.ExtendedMetaData"));
			stringBuffer.append(TEXT_84);
			stringBuffer.append(genPackage.getUncapPackageName());
			stringBuffer.append(TEXT_85);
			stringBuffer.append(genPackage.getUncapFactoryName());
			stringBuffer.append(TEXT_86);
			stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
			stringBuffer.append(TEXT_87);
		}
		stringBuffer.append(TEXT_88);
		if (genModel.useClassOverrideAnnotation()) {
			stringBuffer.append(TEXT_89);
		}
		stringBuffer.append(TEXT_90);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_91);
			stringBuffer.append(genModel.getImportedName("java.io.File"));
			stringBuffer.append(TEXT_92);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_93);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_94);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_95);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_96);
			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
			stringBuffer.append(TEXT_97);
			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.operation.IRunnableWithProgress"));
			stringBuffer.append(TEXT_98);
		} else {
			stringBuffer.append(TEXT_99);
			if (genModel.useClassOverrideAnnotation()) {
				stringBuffer.append(TEXT_100);
			}
			stringBuffer.append(TEXT_101);
		}
		stringBuffer.append(TEXT_102);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_103);
		}
		stringBuffer.append(TEXT_104);
		if (genPackage.isContentType()) {
			stringBuffer.append(TEXT_105);
			stringBuffer.append(genPackage.getImportedPackageInterfaceName());
			stringBuffer.append(TEXT_106);
		}
		stringBuffer.append(TEXT_107);
		stringBuffer.append(_MapOfObjectToObject);
		stringBuffer.append(TEXT_108);
		stringBuffer.append(_HashMapOfObjectToObject);
		stringBuffer.append(TEXT_109);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_110);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_111);
			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
			stringBuffer.append(TEXT_112);
		} else {
			stringBuffer.append(TEXT_113);
			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchWindow"));
			stringBuffer.append(TEXT_114);
			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPage"));
			stringBuffer.append(TEXT_115);
			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.IWorkbenchPart"));
			stringBuffer.append(TEXT_116);
			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.ISelection"));
			stringBuffer.append(TEXT_117);
			stringBuffer.append(genModel.getImportedName("org.eclipse.jface.viewers.StructuredSelection"));
			stringBuffer.append(TEXT_118);
			if (!genPackage.isContentType()) {
				stringBuffer.append(TEXT_119);
			} else {
				stringBuffer.append(TEXT_120);
				stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Platform"));
				stringBuffer.append(TEXT_121);
				stringBuffer.append(genPackage.getImportedPackageInterfaceName());
				stringBuffer.append(TEXT_122);
			}
			stringBuffer.append(TEXT_123);
			stringBuffer.append(genModel.getImportedName("org.eclipse.ui.PartInitException"));
			stringBuffer.append(TEXT_124);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_125);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_126);
		}
		stringBuffer.append(TEXT_127);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_128);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_129);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_130);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_131);
			if (genModel.useClassOverrideAnnotation()) {
				stringBuffer.append(TEXT_132);
			}
			stringBuffer.append(TEXT_133);
			stringBuffer.append(genModel.getImportedName("org.eclipse.core.runtime.Path"));
			stringBuffer.append(TEXT_134);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(genModel.getNonNLS(2));
			stringBuffer.append(TEXT_135);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_136);
		}
		stringBuffer.append(TEXT_137);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_138);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_139);
			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
			stringBuffer.append(TEXT_140);
		}
		stringBuffer.append(TEXT_141);
		stringBuffer.append(_ListOfString);
		stringBuffer.append(TEXT_142);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_143);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_144);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_145);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_146);
			stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Text"));
			stringBuffer.append(TEXT_147);
			if (!genModel.isRichAjaxPlatform()) {
				stringBuffer.append(TEXT_148);
				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
				stringBuffer.append(TEXT_149);
				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.widgets.Button"));
				stringBuffer.append(TEXT_150);
				stringBuffer.append(genPackage.getImportedEditorPluginClassName());
				stringBuffer.append(TEXT_151);
				stringBuffer.append(genModel.getNonNLS());
				stringBuffer.append(TEXT_152);
				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionAdapter"));
				stringBuffer.append(TEXT_153);
				if (genModel.useClassOverrideAnnotation()) {
					stringBuffer.append(TEXT_154);
				}
				stringBuffer.append(TEXT_155);
				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.events.SelectionEvent"));
				stringBuffer.append(TEXT_156);
				if (!genModel.useGenerics()) {
					stringBuffer.append(TEXT_157);
				}
				stringBuffer.append(genPackage.getImportedEditorClassName());
				stringBuffer.append(TEXT_158);
				stringBuffer.append(genPackage.getImportedEditorClassName());
				stringBuffer.append(TEXT_159);
				stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorAdvisorClassName()));
				stringBuffer.append(TEXT_160);
				stringBuffer.append(genModel.getImportedName("org.eclipse.swt.SWT"));
				stringBuffer.append(TEXT_161);
			}
		}
		stringBuffer.append(TEXT_162);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_163);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_164);
		if (genModel.useGenerics()) {
			stringBuffer.append(TEXT_165);
		} else {
			stringBuffer.append(TEXT_166);
		}
		stringBuffer.append(TEXT_167);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_168);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_169);
		if (genModel.useGenerics()) {
			stringBuffer.append(TEXT_170);
		} else {
			stringBuffer.append(TEXT_171);
		}
		stringBuffer.append(TEXT_172);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_173);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(genModel.getNonNLS(2));
			stringBuffer.append(TEXT_174);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_175);
		}
		stringBuffer.append(TEXT_176);
		if (genModel.useClassOverrideAnnotation()) {
			stringBuffer.append(TEXT_177);
		}
		stringBuffer.append(TEXT_178);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_179);
		} else {
			stringBuffer.append(TEXT_180);
		}
		stringBuffer.append(TEXT_181);
		if (genModel.useGenerics()) {
			stringBuffer.append(TEXT_182);
		} else {
			stringBuffer.append(TEXT_183);
		}
		stringBuffer.append(TEXT_184);
		if (!genModel.useGenerics()) {
			stringBuffer.append(TEXT_185);
		}
		stringBuffer.append(TEXT_186);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_187);
		}
		{
			String type = genPackage.hasDocumentRoot() ? "feature" : "type";
			String prefix = genPackage.hasDocumentRoot() ? "_UI_DocumentRoot_" : "_UI_";
			stringBuffer.append(TEXT_188);
			stringBuffer.append(type);
			stringBuffer.append(TEXT_189);
			stringBuffer.append(type);
			stringBuffer.append(TEXT_190);
			stringBuffer.append(genPackage.getEditPluginClassName());
			stringBuffer.append(TEXT_191);
			stringBuffer.append(prefix);
			stringBuffer.append(TEXT_192);
			stringBuffer.append(type);
			stringBuffer.append(TEXT_193);
			stringBuffer.append(type);
			stringBuffer.append(TEXT_194);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(genModel.getNonNLS(2));
			stringBuffer.append(TEXT_195);
			stringBuffer.append(genModel.getImportedName(genModel.getQualifiedEditorPluginClassName()));
			stringBuffer.append(TEXT_196);
			stringBuffer.append(type);
			stringBuffer.append(TEXT_197);
		}
		stringBuffer.append(TEXT_198);
		stringBuffer.append(_CollectionOfString);
		stringBuffer.append(TEXT_199);
		stringBuffer.append(_ArrayListOfString);
		stringBuffer.append(TEXT_200);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_201);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_202);
		if (genModel.useClassOverrideAnnotation()) {
			stringBuffer.append(TEXT_203);
		}
		stringBuffer.append(TEXT_204);
		if (!genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_205);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_206);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_207);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_208);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_209);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_210);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_211);
			stringBuffer.append(genPackage.getModelWizardClassName());
			stringBuffer.append(TEXT_212);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_213);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_214);
			stringBuffer.append(genPackage.getEditorClassName());
			stringBuffer.append(TEXT_215);
			if (!genModel.useGenerics()) {
				stringBuffer.append(TEXT_216);
			}
			stringBuffer.append(TEXT_217);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(genModel.getNonNLS(2));
			stringBuffer.append(TEXT_218);
			stringBuffer.append(genPackage.getImportedEditorPluginClassName());
			stringBuffer.append(TEXT_219);
			stringBuffer.append(genPackage.getEditorClassName());
			stringBuffer.append(TEXT_220);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_221);
			if (!genModel.useGenerics()) {
				stringBuffer.append(TEXT_222);
			}
			stringBuffer.append(TEXT_223);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_224);
			stringBuffer.append(genModel.getNonNLS());
			stringBuffer.append(TEXT_225);
		}
		stringBuffer.append(TEXT_226);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_227);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_228);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_229);
		stringBuffer.append(genPackage.getModelWizardClassName());
		stringBuffer.append(TEXT_230);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_231);
		stringBuffer.append(genPackage.getImportedEditorPluginClassName());
		stringBuffer.append(TEXT_232);
		stringBuffer.append(genModel.getNonNLS());
		stringBuffer.append(TEXT_233);
		if (genModel.isRichClientPlatform()) {
			stringBuffer.append(TEXT_234);
		} else {
			stringBuffer.append(TEXT_235);
		}
		stringBuffer.append(TEXT_236);
		genModel.emitSortedImports();
		stringBuffer.append(TEXT_237);
		InternalPatternContext ictx = (InternalPatternContext) ctx;
		new Node.DataLeaf(ictx.getNode(), getClass(), "doGenerate", stringBuffer.toString());
	}

	public boolean preCondition(PatternContext ctx) throws Exception {
		GenPackage genPackage = parameter;
		genModel = parameter.getGenModel();
		boolean canGenerate = new CodegenGeneratorAdapter(parameter)
				.canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.EditorProject");
		canGenerate = canGenerate
				&& (genPackage.hasConcreteClasses() && genPackage.isGenerateModelWizard() && genPackage.getGenModel()
						.getRuntimePlatform() != GenRuntimePlatform.GWT);
		return canGenerate;
	}
}